package com.hongyi.别名;

import com.fasterxml.jackson.annotation.JsonInclude;
import lombok.Data;
import lombok.EqualsAndHashCode;
import lombok.NoArgsConstructor;

import javax.validation.constraints.NotEmpty;
import javax.validation.constraints.NotNull;

import java.util.Date;

/***
 * 抽样单实体
 */
@Data
@EqualsAndHashCode
@NoArgsConstructor
@JsonInclude(JsonInclude.Include.NON_NULL)
public class Sampling implements java.io.Serializable {


    /***
     * 任务类别
     */
    @NotEmpty(message="任务类别 taskType  不能为空")
    private TaskTypeEnums taskType;

    /***
     * 抽查依据文号
     */
    private String checkNo;

    /***
     * 标签IDS
     */
    private String tagIds;

//    /***
//     * 标签名称（需要选择）
//     */
//    private String tagNames;

    // ------------------------------------------受检单位信息--------------------------------------------------
    /***
     * 受检单位名称
     */
//    @NotEmpty(message="受检单位名称 entName  不能为空")
//    private String entName;

    /***
     * 受检单位统一社会信用代码
     */
    @NotEmpty(message="受检单位统一社会信用代码 entUscc  不能为空")
    private String entUscc;

    /***
     * 受检单位联系人
     */
    private String entContact;

    /***
     * 受检单位联系人电话
     */
    private String entTel;

    /***
     * 受检单位地址
     */
    private String entAddr;

    /***
     * 受检单位邮编
     */
    private String entZipCode;

    /***
     * 受检单位法人
     */
    private String entFr;

    /***
     * 受检单位从业人员数
     */
    private Integer entPersonCount;

    /***
     * 营业收入（万元）
     */
    private String entIncome;

    /***
     * 受检单位经济类型
     */
    private EntEconomyTypeEnums entEconomyType;

    /***
     * 受检单位所在地
     */
    private EntLocationEnums entLocation;

    /***
     * 自愿无偿提供样品
     */
    private String entFreeSample;

    /***
     * 是否产生购样费 0: 否；1：是
     */
    private Integer isBuySample;

    /***
     * 购样费
     */
    private String entBuySampleFee;

    //------------------------------------------抽样单位信息--------------------------------------------------
    /**
     * 抽样单位-名称
     */
//    @NotEmpty(message="抽样单位名称 splOrgName  不能为空")
//    private String splOrgName;

    /***
     * 抽样单位地址
     */
//    @NotEmpty(message="抽样单位地址 splOrgAddr  不能为空")
//    private String splOrgAddr;

    /**
     * 抽样单位-联系人
     */
    private String splOrgContact;

    /***
     * 抽样单位-联系电话
     */
    private String splOrgTel;

    /**
     * 抽样单位电邮
     */
    private String splOrgEmail;

    /***
     * 抽样单位邮编
     */
    private String splOrgZipcode;

    /***
     * 抽样单位传真
     */
    private String splOrgFax;

    //----------------------------------------受检产品信息--------------------------------------------------
    /***
     * 产品名称
     */
    @NotEmpty(message="产品名称 sampleName  不能为空")
    private String sampleName;

    /***
     * 规格型号
     */
    @NotEmpty(message="规格型号 sampleModel  不能为空")
    private String sampleModel;

    /***
     * 证书类型
     */
    @NotEmpty(message="证书类型 sampleCertType  不能为空")
    private CertTypeEnums sampleCertType;

    /***
     * 证书编号
     */
    private String sampleCertNo;

    /***
     * 商标
     */
    private String sampleBrand;

    /***
     * 产品分类编码
     */
    @NotEmpty(message="产品分类编码 sampleCatNo  不能为空")
    private String sampleCatNo;

//    /***
//     * 产品分类名称（需要选择）
//     */
//    private String sampleCatName;

    /***
     * 批号
     */
    private String sampleLotNo;

    /***
     * 生产日期
     */
    private String sampleProdDate;

    /***
     * 单价
     */
    @NotEmpty(message="单价 samplePrice  不能为空")
    private String samplePrice;

    /***
     * 是够出口产品（待确认）
     */


    /***
     * 发票收据号码
     */
    private String invoiceNo;

    /**
     * 商品条码
     */
    private String goodsBarCode;

    //--------------------------------------------生产单位信息-----------------------------------------------------
    /**
     * 受检企业是否为生产企业（待确认）
     */


    /***
     * 生产企业名称
     */
    @NotEmpty(message="生产企业名称 mfrName  不能为空")
    private String mfrName;

    /***
     * 生产企业地址
     */
    private String mfrAddr;

    /***
     * 生产企业统一社会信用代码
     */
    @NotEmpty(message="生产企业统一社会信用代码 entUscc  不能为空")
    private String mfrUscc;

    /***
     * 生产企业法人
     */
    private String mfrFr;

    /***
     * 生产企业联系人
     */
    private String mfrContact;

    /***
     * 生产企业联系电话
     */
    private String mfrTel;

    /***
     * 生产企业从业人员数
     */
    private String mfrPersonCount;

    /***
     * 生产企业营业收入（万元）
     */
    private String mfrSales;

    /***
     * 生产企业产量
     */
    private String mfrProdQty;

    /***
     * 生产企业经济类型
     */
    private MfrEconomyTypeEnums mfrEconomyType;

    /***
     * 生产企业-所在省
     */
    @NotEmpty(message="生产企业-所在省 mfrProvince  不能为空")
    private String mfrProvince;

    /***
     * 是否标称生产单位(待确认)
     */


    // -----------------------------------------------抽样信息--------------------------------------------------
    /***
     * 抽样数量
     */
    @NotEmpty(message="抽样数量 sampleQty  不能为空")
    private String sampleQty;

    /***
     * 样品总金额
     */
    private String sampleAmount;

    /***
     * 样品获取方式
     */
    @NotEmpty(message="样品获取方式 sampleAccess  不能为空")
    private SampleAccessEnums sampleAccess;

    /***
     * 样品类型
     */
    @NotEmpty(message="样品类型 sampleType  不能为空")
    private SampleTypeEnums sampleType;

    /***
     * 抽样基数/批量
     */
    private String sampleBaseQty;

    /***
     * 检样数量
     */
    @NotEmpty(message="检样数量 sampleCheckQty  不能为空")
    private String sampleCheckQty;

    /***
     * 检样数量单位
     */
    @NotEmpty(message="检样数量单位 sampleCheckUnit  不能为空")
    private String sampleCheckUnit;

    /***
     * 抽样日期
     */
    @NotNull(message="抽样日期 samplingOn  不能为空")
    private Date samplingOn;

    /***
     * 封样状态
     */
    @NotNull(message="封样状态 sampleSealStatus  不能为空")
    private String sampleSealStatus;

    /***
     * 备样封存地方
     */
    private String spareSampleSavePlace;

    /***
     * 产品等级
     */
    private String sampleGrade;

    /***
     * 寄送样地点
     */
    private String samplePostPlace;

    /***
     * 样品邮寄截止日期
     */
    private String samplePostDueOn;

    /**
     * 销售量
     */
    private String sampleSaleQty;

    /**
     * 库存量
     */
    private String sampleQtyStock;

    /**
     * 抽样环节
     */
    @NotNull(message="抽样环节 sampleLink  不能为空")
    private SampleLinkEnums sampleLink;



}
